翻訳と辞書
Words near each other
・ コンセプシオン大学
・ コンセプシオン山
・ コンセプシオン県 (チリ)
・ コンセプション
・ コンセプション 俺の子供を産んでくれ!
・ コンセプチュアリズム
・ コンセプチュアルアート
・ コンセプチュアル・アート
・ コンセプチュアル・デザイン
・ コンセプト
コンセプト (C++)
・ コンセプトアド
・ コンセプトアルバム
・ コンセプトアート
・ コンセプトウイルス
・ コンセプトカー
・ コンセプトサーチ
・ コンセプトデザイン
・ コンセプトマップ
・ コンセプトモデル


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

コンセプト (C++) : ウィキペディア日本語版
コンセプト (C++)
コンセプト()は、プログラミング言語の機能。かつてC++への採用が検討されていたが、見送られた。ISO/IEC JTC1/SC22/WG21 C++ 標準化委員会によるC++0xの策定において2009年前半まで検討され、規格書のドラフトにも盛り込まれていたが、2009年7月13日の投票で削除されることが決まった〔InformIT, The Removal of Concepts From C++0x Jul 23, 2009.
http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=441〕。
==背景==
C++では、テンプレートクラス・関数は引数とする型に必然的に何らかの制限を課す。例えば、STLコンテナは格納する型にデフォルトコンストラクタを要求する。Foo&型のオブジェクトを受ける関数にはFooのあらゆるサブタイプを渡せる、というようなクラス階層によって提供される動的な多態とは違い、テンプレート引数には、テンプレートが使う演算をサポートするクラスならば何でも渡すことが出来る。しかし、通常の関数の場合は引数に対する要求は明確である(先の例なら、Fooのサブタイプであること)が、テンプレートの場合は、オブジェクトが持たなければならないインターフェースはテンプレート定義の中に隠れてしまっている。コンセプトはテンプレート引数が持たなくてはならないインターフェースを明文化する機構を提供する。
コンセプトを導入する理由の一つは、エラーメッセージの質の改善である。テンプレートが必要とするインターフェースを持っていない型をプログラマが使おうとした場合、コンパイラはエラーを出す。しかし、その種のエラーは理解しがたいものになりやすく、特に初心者には非常に難解である。この理由としては、エラーメッセージにテンプレート引数が省略されずに表示され、非常に長いエラーメッセージが出力されてしまうことが多いことが挙げられる。コンパイラによっては、単純なミスが数キロバイトものエラーメッセージを出す結果になることもある。他の理由として、エラーメッセージがエラーの実際の理由を明確に示していないことがある、ということもある。例えば、コピーコンストラクタを持たないオブジェクトのvectorを構築しようとした場合、大抵の場合のエラーメッセージは「内包するオブジェクトにコピーコンストラクタを呼んでしまったvectorクラス」に言及するものになってしまう。熟練したプログラマでないと、本当のエラーが「vectorに渡した型がvectorの要件を満たしきれていないこと」が解らないだろう。

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「コンセプト (C++)」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.